/**
 *====================================================
 * 文件名称: TallyingEntity.java
 * 修订记录：
 * No    日期				作者(操作:具体内容)
 * 1.    2015年9月23日			chenxy(创建:创建文件)
 *====================================================
 * 类描述：(说明未实现或其它不应生成javadoc的内容)
 */
package com.yuexunit.finance.project.entity;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

import com.yuexunit.finance.project.entity.lexicon.TallyingStateEnum;

/**
 * @ClassName: TallyingEntity
 * @Description: TODO(这里用一句话描述这个类的作用)
 * @author chenxy
 * @date 2015年9月23日 下午5:13:35
 */
@Entity
@Table(name = "FIN_TALLYING")
public class TallyingEntity implements Cloneable {

	/** 理货单ID */
	@Id
	@GeneratedValue
	@Column(name = "TALLYING_ID")
	private Long tallyingId;

	/** 理货单号 */
	@Column(name = "TALLYING_NUMBER")
	private String tallyingNumber;

	/** 收货通知ID */
	@Column(name = "RECIEVE_NOTICE_ID")
	private Long recieveNoticeId;

	/** 融资信息ID */
	@Column(name = "FINANCE_ID")
	private Long financeId;

	/** 融资信息编号 */
	@Column(name = "FINANCE_NUMBER")
	private String financeNumber;

	/** 融资企业ID */
	@Column(name = "ENTERPRISE_ID")
	private Long enterpriseId;

	/** 融资企业名称 */
	@Column(name = "ENTERPRISE_NAME")
	private String enterpriseName;

	/** 物流公司ID */
	@Column(name = "LOGISTICS_COMPANY_ID")
	private Long logisticsCompanyId;

	/** 物流公司名称 */
	@Column(name = "LOGISTICS_COMPANY_NAME")
	private String logisticsCompanyName;

	/** 是否自理 0:否/1:是 下发理货任务时未指派货箱则为自理 */
	@Column(name = "USER_DEFINED")
	private Boolean userDefined;

	/** 理货状态 理货状态 0:未知/1:待理货/2:未接受/3:理货中(已接受)/4:已完成/5:已上报 */
	@Column(name = "TALLYING_STATE")
	private TallyingStateEnum tallyingState;

	/** 完成时间 */
	@Column(name = "FINISHED_DT")
	private Date finishedDateTime;

	/** 理货人ID */
	@Column(name = "CLERK_ID")
	private Long clerkId;

	/** 理货人 */
	@Column(name = "CLERK_NAME")
	private String clerkName;

	/** 理货人手机号 */
	@Column(name = "CLERK_MOBILE")
	private String clerkMobile;

	/** 是否随车 0:否/1:是 */
	@Column(name = "WITH_CAR")
	private Boolean withCar;

	/** 车牌号 */
	@Column(name = "PLATE_NUMBER")
	private String plateNumber;

	/** 司机 */
	@Column(name = "DRIVER")
	private String driver;

	/** 司机电话 */
	@Column(name = "DRIVER_TEL")
	private String driverTel;

	/** 出发地点 */
	@Column(name = "DRIVER_ADDRESS")
	private String driverAddress;

	/** 出发时间 */
	@Column(name = "START_DATE")
	private Date startDate;

	/** 理货时限 */
	@Column(name = "LIMIT_DATE")
	private Date limitDate;

	/** 理货完成附件 */
	@Column(name = "FINISHED_FILE_UUID")
	private String finishedFileUuid;

	/** 理货清单附件 */
	@Column(name = "TALLYING_FILE")
	private String tallyingFile;

	/** 创建时间 */
	@Column(name = "CREATE_DT")
	private Date createDateTime;

	private transient ContainerInventoryHistoryEntity containerInventoryHistory;

	public Long getTallyingId() {
		return tallyingId;
	}

	public void setTallyingId(Long tallyingId) {
		this.tallyingId = tallyingId;
	}

	public Boolean getUserDefined() {
		return userDefined;
	}

	public void setUserDefined(Boolean userDefined) {
		this.userDefined = userDefined;
	}

	public String getTallyingNumber() {
		return tallyingNumber;
	}

	public void setTallyingNumber(String tallyingNumber) {
		this.tallyingNumber = tallyingNumber;
	}

	public Long getRecieveNoticeId() {
		return recieveNoticeId;
	}

	public void setRecieveNoticeId(Long recieveNoticeId) {
		this.recieveNoticeId = recieveNoticeId;
	}

	public Long getFinanceId() {
		return financeId;
	}

	public void setFinanceId(Long financeId) {
		this.financeId = financeId;
	}

	public String getDriverAddress() {
		return driverAddress;
	}

	public void setDriverAddress(String driverAddress) {
		this.driverAddress = driverAddress;
	}

	public Date getStartDate() {
		return startDate;
	}

	public void setStartDate(Date startDate) {
		this.startDate = startDate;
	}

	public String getFinanceNumber() {
		return financeNumber;
	}

	public void setFinanceNumber(String financeNumber) {
		this.financeNumber = financeNumber;
	}

	public Long getLogisticsCompanyId() {
		return logisticsCompanyId;
	}

	public void setLogisticsCompanyId(Long logisticsCompanyId) {
		this.logisticsCompanyId = logisticsCompanyId;
	}

	public String getLogisticsCompanyName() {
		return logisticsCompanyName;
	}

	public void setLogisticsCompanyName(String logisticsCompanyName) {
		this.logisticsCompanyName = logisticsCompanyName;
	}

	public TallyingStateEnum getTallyingState() {
		return tallyingState;
	}

	public void setTallyingState(TallyingStateEnum tallyingState) {
		this.tallyingState = tallyingState;
	}

	public Long getClerkId() {
		return clerkId;
	}

	public void setClerkId(Long clerkId) {
		this.clerkId = clerkId;
	}

	public String getClerkName() {
		return clerkName;
	}

	public void setClerkName(String clerkName) {
		this.clerkName = clerkName;
	}

	public String getClerkMobile() {
		return clerkMobile;
	}

	public void setClerkMobile(String clerkMobile) {
		this.clerkMobile = clerkMobile;
	}

	public Boolean getWithCar() {
		return withCar;
	}

	public void setWithCar(Boolean withCar) {
		this.withCar = withCar;
	}

	public String getPlateNumber() {
		return plateNumber;
	}

	public void setPlateNumber(String plateNumber) {
		this.plateNumber = plateNumber;
	}

	public String getDriver() {
		return driver;
	}

	public void setDriver(String driver) {
		this.driver = driver;
	}

	public Long getEnterpriseId() {
		return enterpriseId;
	}

	public void setEnterpriseId(Long enterpriseId) {
		this.enterpriseId = enterpriseId;
	}

	public String getEnterpriseName() {
		return enterpriseName;
	}

	public void setEnterpriseName(String enterpriseName) {
		this.enterpriseName = enterpriseName;
	}

	public String getDriverTel() {
		return driverTel;
	}

	public void setDriverTel(String driverTel) {
		this.driverTel = driverTel;
	}

	public Date getLimitDate() {
		return limitDate;
	}

	public void setLimitDate(Date limitDate) {
		this.limitDate = limitDate;
	}

	public String getTallyingFile() {
		return tallyingFile;
	}

	public void setTallyingFile(String tallyingFile) {
		this.tallyingFile = tallyingFile;
	}

	public Date getCreateDateTime() {
		return createDateTime;
	}

	public void setCreateDateTime(Date createDateTime) {
		this.createDateTime = createDateTime;
	}

	public Date getFinishedDateTime() {
		return finishedDateTime;
	}

	public void setFinishedDateTime(Date finishedDateTime) {
		this.finishedDateTime = finishedDateTime;
	}

	public String getFinishedFileUuid() {
		return finishedFileUuid;
	}

	public void setFinishedFileUuid(String finishedFileUuid) {
		this.finishedFileUuid = finishedFileUuid;
	}

	public ContainerInventoryHistoryEntity getContainerInventoryHistory() {
		return containerInventoryHistory;
	}

	public void setContainerInventoryHistory(ContainerInventoryHistoryEntity containerInventoryHistory) {
		this.containerInventoryHistory = containerInventoryHistory;
	}

	@Override
	public TallyingEntity clone() {
		TallyingEntity o = null;
		try {
			o = (TallyingEntity) super.clone();
		} catch (CloneNotSupportedException e) {
			e.printStackTrace();
		}
		return o;
	}

}
